En este segunda fase nuestro equipo se ha dedicado a mejorar, optimizar y combinar los mejores modelos obtenidos en la fase 1, así como explorar maś arquitecturas y tratamiento de los datos. El trabajo se encuentra en el notebook trabajo-fase2.ipynb que también adjuntamos en formato html para su cómoda lectura.

Fruto de este proceso de mejora hemos adjuntado una nueva predicción sobre los datos de test.

Adjuntamos también el texto del correo enviado en la fase 1.

Atentamente,
El equipo Always Learning Deeper


#########

Hemos realizado una labor de exploración y análisis de los datos, seguida de una fase de exploración de modelos y parámetros sistemática de cara a encontrar el mejor modelo posible.

El trabajo desarrollado está recogido en un notebook (trabajo.ipynb). Hemos incluido también este archivo en formato html a fin de facilitar la lectura, de manera que se puede visualizar el trabajo sin instalar ningún paquete. Recomendamos la lectura completa de alguno de estos archivos para poder ver con todo lujo de detalles el trabajo llevado a cabo por nuestro equipo.

Durante la exploración de los datos, un analisis estadístico de la distribución de la variable a predecir ha encontrado valores muy altos de skewness y kurtosis. Hemos tomado la decisión de realizar una detección de outliers mediante la técnica de la distancia intercuartil y eliminarlos durante el proceso de entrenamiento. Hemos realizado una comparativa entre esta opción y la no eliminación, detallada en la sección de comparaciones entre modelos.

En lo referente al resto de variables, hemos condensado la variable "Socio_Demo_01" en los 11 valores más comunes debido al excesivo número de valores que toma esta variable. Todas las variables categóricas se han convertido a un formato de vectores one-hot para su posterior uso por los diferentes modelos. No hemos detectado ninguna característica adicional de la que sacar ventaja. Hemos eliminado la variable Customer_ID por no ser más que un mero identificador. El análisis completo y sus respectivas gráficas se pueden encontrar en el notebook.

A la hora de seleccionar el modelo, en primer lugar hemos evaluado un elevado número de parámetros y modelos (hemos incluido en el trabajo los resultados que hemos considerado que tenían interés por sus resultados o los efectos de cambiar parámetros, ya que hemos realizado un elevado número de pruebas) mediante una validación cruzada en 5 bloques, con el fin de obtener una aproximación lo más fiel posible de la capacidad de generalización de los diferentes modelos cuando se enfrentan a datos que no han visto nunca. Hemos evaluado los resultados respecto a 3 métricas: ráiz del error cuadrático medio (RMSE), media del error absoluto (MAE) y a la mediana del error (MAD). Nos hemos fijado especialmente en la última métrica debido a que no se ve afectada por posibles outliers y porque muestra de manera clara y comprensible cuál es el funcionamiento "medio" de un modelo. De nuevo, los resultados están presentados en el notebook.

Después de esta comparativa, se ha seleccionado el modelo que mejor resultados daba, un random forest, y hemos pasado al entrenamiento del modelo final. Este modelo se entrena con todo el conjunto de datos disponibles y se usa para emitir la predicción final.

Atentamente,
El equipo Always Learning Deeper
